2   id="openchannel-openchannelAccount"
 
   3   class="page-layout simple tabbed"
 
   7   <div class="header md-accent-bg" layout="row" layout-align="start center">
 
   8     <div class="white-fg" layout="row" layout-align="start center" flex>
 
  10         class="goto-openchannelAccounts-button md-icon-button"
 
  11         aria-label="Go to openchannelAccounts"
 
  12         ng-click="vm.gotoOpenchannelAccounts()"
 
  14         translate-attr-aria-label="OPENCHANNEL.GO_TO_OPENCHANNELACCOUNTS"
 
  16         <md-icon md-font-icon="icon-arrow-left"></md-icon>
 
  19       <div layout="row" layout-align="start center">
 
  20         <div class="openchannelAccount-image" hide-xs>
 
  21           <img ng-src="assets/images/business/openchannelAccounts.jpg" />
 
  24         <div layout="column" layout-align="start start">
 
  26             #{{vm.openchannelAccount.id}}
 
  27             <span ng-if="vm.openchannelAccount.name"
 
  28               >{{vm.openchannelAccount.name}}</span
 
  31           <div class="subtitle secondary-text">
 
  32             <span translate="OPENCHANNEL.CREATED_AT"></span>
 
  33             <span>{{vm.openchannelAccount.createdAt | date:'medium'}}</span>
 
  41         ng-click="vm.agentadddialog(vm.openchannelAccount, $event)"
 
  42         class="md-fab md-warn md-icon-button"
 
  46           ><span translate="OPENCHANNEL.AGENTADD_OPENCHANNELACCOUNT"></span
 
  48         <md-icon md-font-icon="icon-account-multiple-plus"></md-icon>
 
  54         ng-click="vm.saveOpenchannelAccount()"
 
  55         ng-if="vm.crudPermissions.canEdit"
 
  56         class="send-button md-accent md-raised"
 
  57         ng-disabled="(generalForm.$invalid) || (notificationForm.$invalid) || (transferForm.$invalid) || (proxyForm.$invalid) || (dispositionForm.$invalid) || (openchannelDispositionsForm.$invalid) || (openchannelCannedAnswersForm.$invalid) || (actionsForm.$invalid) || (interactionsForm.$invalid)"
 
  58         translate="OPENCHANNEL.SAVE"
 
  59         translate-attr-aria-label="OPENCHANNEL.SAVE"
 
  70       md-selected="vm.selectedTab"
 
  71       md-stretch-tabs="always"
 
  78           <span translate="OPENCHANNEL.SETTINGS">SETTINGS</span>
 
  82             class="openchannelAccount-detail-form-container general md-background-bg md-whiteframe-1dp"
 
  84             <div class="pb-16" layout="row" layout-align="start center">
 
  85               <div class="h2 secondary-text" translate="OPENCHANNEL.GENERAL">
 
  89             <form name="generalForm" novalidate>
 
  90               <md-input-container class="md-block">
 
  91                 <label translate="OPENCHANNEL.NAME">Name</label>
 
  95                   ng-model="vm.openchannelAccount.name"
 
 102                   ng-messages="generalForm['name'].$error"
 
 103                   ng-show="generalForm['name'].$touched"
 
 106                   <div ng-message="required">
 
 107                     <span translate="OPENCHANNEL.ERRORS.NAME_REQUIRED"
 
 108                       >Name field is required</span
 
 112               </md-input-container>
 
 113               <md-input-container class="md-block">
 
 114                 <label translate="OPENCHANNEL.KEY">key</label>
 
 118                   ng-model="vm.openchannelAccount.key"
 
 121                   ng-disabled="!vm.crudPermissions.canEdit"
 
 125                   ng-messages="generalForm['key'].$error"
 
 126                   ng-show="generalForm['key'].$touched"
 
 129                   <div ng-message="required">
 
 130                     <span translate="OPENCHANNEL.ERRORS.KEY_REQUIRED"
 
 131                       >key field is required</span
 
 134                   <div ng-message="md-maxlength">
 
 136                       translate="OPENCHANNEL.ERRORS.KEY_MAX_LENGTH"
 
 137                       translate-values="{max: 5}"
 
 138                       >key must have a maximum length equal to 5</span
 
 142               </md-input-container>
 
 143               <md-input-container class="md-block">
 
 144                 <label translate="OPENCHANNEL.REPLYURI">replyUri</label>
 
 148                   ng-model="vm.openchannelAccount.replyUri"
 
 149                   ng-disabled="!vm.crudPermissions.canEdit"
 
 153                   <span translate="OPENCHANNEL.HELP.REPLYURI"></span>
 
 156                   ng-messages="generalForm['replyUri'].$error"
 
 157                   ng-show="generalForm['replyUri'].$touched"
 
 160                   <div ng-message="required">
 
 161                     <span translate="OPENCHANNEL.ERRORS.REPLYURI_REQUIRED"
 
 162                       >replyUri field is required</span
 
 165                   <div ng-message="url">
 
 166                     <span translate="OPENCHANNEL.ERRORS.REPLYURI_MUST_VALID_URL"
 
 167                       >replyUri must be a valid url http://www.xcally.com</span
 
 171               </md-input-container>
 
 172               <md-input-container class="md-block">
 
 173                 <label translate="OPENCHANNEL.LIST">List</label>
 
 176                   ng-model="vm.openchannelAccount.ListId"
 
 178                   ng-disabled="!vm.crudPermissions.canEdit"
 
 182                     ng-repeat="ListId in vm.lists"
 
 183                     ng-disabled="ListId.canSelect === false"
 
 184                     >{{ ListId.name }}</md-option
 
 188                   <span translate="OPENCHANNEL.HELP.LIST"></span>
 
 191                   ng-messages="generalForm['ListId'].$error"
 
 192                   ng-show="generalForm['ListId'].$touched"
 
 195                   <div ng-message="required">
 
 196                     <span translate="OPENCHANNEL.ERRORS.LIST_REQUIRED"
 
 197                       >List field is required</span
 
 201               </md-input-container>
 
 202               <md-input-container class="md-block">
 
 203                 <label translate="OPENCHANNEL.WAITFORTHEASSIGNEDAGENT"
 
 204                   >WaitForTheAssignedAgent</label
 
 208                   name="waitForTheAssignedAgent"
 
 209                   ng-model="vm.openchannelAccount.waitForTheAssignedAgent"
 
 213                   ng-disabled="!vm.crudPermissions.canEdit"
 
 217                   ng-messages="generalForm['waitForTheAssignedAgent'].$error"
 
 218                   ng-show="generalForm['waitForTheAssignedAgent'].$touched"
 
 221                   <div ng-message="required">
 
 223                       translate="OPENCHANNEL.ERRORS.WAITFORTHEASSIGNEDAGENT_REQUIRED"
 
 224                       >WaitForTheAssignedAgent field is required</span
 
 227                   <div ng-message="min">
 
 229                       translate="OPENCHANNEL.ERRORS.WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
 
 230                       >WaitForTheAssignedAgent must be a valid greater or equal
 
 235                   <div ng-message="max">
 
 237                       translate="OPENCHANNEL.ERRORS.WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
 
 238                       >WaitForTheAssignedAgent must be a valid greater or equal
 
 244               </md-input-container>
 
 245               <md-input-container class="md-block">
 
 246                 <label translate="OPENCHANNEL.MAPKEY">MapKey</label>
 
 249                   ng-model="vm.openchannelAccount.mapKey"
 
 250                   ng-disabled="!vm.crudPermissions.canEdit"
 
 252                   <md-option ng-value="''">None</md-option>
 
 253                   <md-optgroup label="standard">
 
 255                       ng-value="mapKey.columnName"
 
 256                       ng-repeat="mapKey in vm.fields"
 
 257                       ng-if="!mapKey.columnName.toString().startsWith('cf_')"
 
 258                       ng-disabled="mapKey.canSelect === false"
 
 259                       >{{ mapKey.displayName }}</md-option
 
 262                   <md-optgroup label="custom">
 
 264                       ng-value="mapKey.columnName"
 
 265                       ng-repeat="mapKey in vm.fields"
 
 266                       ng-if="mapKey.columnName.toString().startsWith('cf_')"
 
 267                       ng-disabled="mapKey.canSelect === false"
 
 268                       >{{ mapKey.displayName }}</md-option
 
 273                   ng-messages="generalForm['mapKey'].$error"
 
 274                   ng-show="generalForm['mapKey'].$touched"
 
 277                   <div ng-message="required">
 
 278                     <span translate="OPENCHANNEL.ERRORS.MAPKEY_REQUIRED"
 
 279                       >MapKey field is required</span
 
 283               </md-input-container>
 
 284               <md-input-container class="md-block">
 
 285                 <label translate="OPENCHANNEL.DESCRIPTION">Description</label>
 
 289                   ng-model="vm.openchannelAccount.description"
 
 290                   ng-disabled="!vm.crudPermissions.canEdit"
 
 294                   ng-messages="generalForm['description'].$error"
 
 295                   ng-show="generalForm['description'].$touched"
 
 298                   <div ng-message="required">
 
 299                     <span translate="OPENCHANNEL.ERRORS.DESCRIPTION_REQUIRED"
 
 300                       >Description field is required</span
 
 304               </md-input-container>
 
 305               <md-input-container class="md-block">
 
 306                 <label translate="OPENCHANNEL.RECEIVEURI">receiveUri</label>
 
 307                 <div layout="row" layout-align="center center">
 
 309                     class="md-button md-fab md-mini md-primary"
 
 311                     data-clipboard-target="#copytoclipboard-receiveUri"
 
 312                     ngclipboard-success="vm.alert({title: 'copied to clipboard', msg: e.text});"
 
 313                     ngclipboard-error="vm.alert({title: 'error', msg: 'copy to clipboard failed'});"
 
 315                     <md-icon md-font-icon="icon-clipboard-text"></md-icon>
 
 320                     id="copytoclipboard-receiveUri"
 
 322                     ng-value="vm.location + '/api/openchannel/accounts/' + vm.openchannelAccount.id + '/notify'"
 
 327                   <span translate="OPENCHANNEL.HELP.RECEIVEURI"></span>
 
 329               </md-input-container>
 
 333             class="openchannelAccount-detail-form-container notification md-background-bg md-whiteframe-1dp"
 
 335             <div class="pb-16" layout="row" layout-align="start center">
 
 337                 class="h2 secondary-text"
 
 338                 translate="OPENCHANNEL.NOTIFICATION"
 
 343             <form name="notificationForm" novalidate>
 
 344               <md-input-container class="md-block">
 
 346                   ng-model="vm.openchannelAccount.notificationSound"
 
 347                   aria-label="notificationSound"
 
 348                   ng-disabled="!vm.crudPermissions.canEdit"
 
 349                   ><span translate="OPENCHANNEL.NOTIFICATIONSOUND"
 
 350                     >notificationSound</span
 
 353               </md-input-container>
 
 354               <md-input-container class="md-block">
 
 356                   ng-model="vm.openchannelAccount.notificationShake"
 
 357                   aria-label="notificationShake"
 
 358                   ng-disabled="!vm.crudPermissions.canEdit"
 
 359                   ><span translate="OPENCHANNEL.NOTIFICATIONSHAKE"
 
 360                     >notificationShake</span
 
 363               </md-input-container>
 
 364               <div class="md-block">
 
 366                   class="md-caption grey-fg"
 
 367                   translate="OPENCHANNEL.NOTIFICATIONTEMPLATE"
 
 368                   >notificationTemplate</label
 
 371                   aria-label="notificationTemplate notificationTemplate"
 
 372                   ckeditor="{ skin: 'office2013', language: 'en', allowedContent: true, extraPlugins: 'font,colorbutton,autoembed,autocorrect,googlethisterm,pastebase64', toolbarGroups: [{ name: 'styles', groups: ['styles'] }, { name: 'clipboard', groups: ['undo'] }, { name: 'colors', groups: ['colors'] }, { name: 'basicstyles', groups: ['basicstyles'] }, { name: 'paragraph', groups: ['list', 'indent', 'align'] }, { name: 'mode' }], autocorrect_enabled: true, disableNativeSpellChecker: false, fontSize_sizes: '8/8pt;9/9pt;10/10pt;11/11pt;12/12pt;14/14pt;16/16pt;18/18pt;20/20pt;22/22pt;24/24pt;26/26pt;28/28pt;36/36pt;48/48pt;72/72pt',  removePlugins: 'magicline' }"
 
 373                   ng-model="vm.openchannelAccount.notificationTemplate"
 
 379             class="openchannelAccount-detail-form-container transfer md-background-bg md-whiteframe-1dp"
 
 381             <div class="pb-16" layout="row" layout-align="start center">
 
 382               <div class="h2 secondary-text" translate="OPENCHANNEL.TRANSFER">
 
 386             <form name="transferForm" novalidate>
 
 387               <md-input-container class="md-block">
 
 389                   ng-model="vm.openchannelAccount.queueTransfer"
 
 390                   aria-label="queueTransfer"
 
 391                   ng-disabled="!vm.crudPermissions.canEdit"
 
 392                   ><span translate="OPENCHANNEL.QUEUETRANSFER"
 
 396               </md-input-container>
 
 398                 ng-if="vm.openchannelAccount.queueTransfer == true"
 
 401                 <label translate="OPENCHANNEL.QUEUETRANSFERTIMEOUT"
 
 402                   >queueTransferTimeout</label
 
 406                   name="queueTransferTimeout"
 
 407                   ng-model="vm.openchannelAccount.queueTransferTimeout"
 
 411                   ng-disabled="!vm.crudPermissions.canEdit"
 
 415                   ng-messages="transferForm['queueTransferTimeout'].$error"
 
 416                   ng-show="transferForm['queueTransferTimeout'].$touched"
 
 419                   <div ng-message="required">
 
 421                       translate="OPENCHANNEL.ERRORS.QUEUETRANSFERTIMEOUT_REQUIRED"
 
 422                       >queueTransferTimeout field is required</span
 
 425                   <div ng-message="min">
 
 427                       translate="OPENCHANNEL.ERRORS.QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
 
 428                       >queueTransferTimeout must be a valid greater or equal
 
 433                   <div ng-message="max">
 
 435                       translate="OPENCHANNEL.ERRORS.QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
 
 436                       >queueTransferTimeout must be a valid greater or equal
 
 442               </md-input-container>
 
 443               <md-input-container class="md-block">
 
 445                   ng-model="vm.openchannelAccount.agentTransfer"
 
 446                   aria-label="agentTransfer"
 
 447                   ng-disabled="!vm.crudPermissions.canEdit"
 
 448                   ><span translate="OPENCHANNEL.AGENTTRANSFER"
 
 452               </md-input-container>
 
 454                 ng-if="vm.openchannelAccount.agentTransfer == true"
 
 457                 <label translate="OPENCHANNEL.AGENTTRANSFERTIMEOUT"
 
 458                   >agentTransferTimeout</label
 
 462                   name="agentTransferTimeout"
 
 463                   ng-model="vm.openchannelAccount.agentTransferTimeout"
 
 467                   ng-disabled="!vm.crudPermissions.canEdit"
 
 471                   ng-messages="transferForm['agentTransferTimeout'].$error"
 
 472                   ng-show="transferForm['agentTransferTimeout'].$touched"
 
 475                   <div ng-message="required">
 
 477                       translate="OPENCHANNEL.ERRORS.AGENTTRANSFERTIMEOUT_REQUIRED"
 
 478                       >agentTransferTimeout field is required</span
 
 481                   <div ng-message="min">
 
 483                       translate="OPENCHANNEL.ERRORS.AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO"
 
 484                       >agentTransferTimeout must be a valid greater or equal
 
 489                   <div ng-message="max">
 
 491                       translate="OPENCHANNEL.ERRORS.AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO"
 
 492                       >agentTransferTimeout must be a valid greater or equal
 
 498               </md-input-container>
 
 505           <span translate="OPENCHANNEL.ADVANCED">ADVANCED</span>
 
 509             class="openchannelAccount-detail-form-container proxy md-background-bg md-whiteframe-1dp"
 
 511             <div class="pb-16" layout="row" layout-align="start center">
 
 512               <div class="h2 secondary-text" translate="OPENCHANNEL.PROXY">
 
 516             <form name="proxyForm" novalidate>
 
 517               <md-input-container class="md-block">
 
 518                 <label translate="OPENCHANNEL.TOKEN">token</label>
 
 522                   ng-model="vm.openchannelAccount.token"
 
 528                   <span translate="OPENCHANNEL.HELP.TOKEN"></span>
 
 531                   ng-messages="proxyForm['token'].$error"
 
 532                   ng-show="proxyForm['token'].$touched"
 
 535                   <div ng-message="required">
 
 536                     <span translate="OPENCHANNEL.ERRORS.TOKEN_REQUIRED"
 
 537                       >token field is required</span
 
 541               </md-input-container>
 
 545             class="openchannelAccount-detail-form-container disposition md-background-bg md-whiteframe-1dp"
 
 547             <div class="pb-16" layout="row" layout-align="start center">
 
 549                 class="h2 secondary-text"
 
 550                 translate="OPENCHANNEL.DISPOSITION"
 
 555             <form name="dispositionForm" novalidate>
 
 556               <md-input-container class="md-block">
 
 558                   ng-model="vm.openchannelAccount.mandatoryDisposition"
 
 559                   aria-label="MandatoryDisposition"
 
 560                   ng-disabled="!vm.crudPermissions.canEdit"
 
 561                   ><span translate="OPENCHANNEL.MANDATORYDISPOSITION"
 
 562                     >MandatoryDisposition</span
 
 565               </md-input-container>
 
 567                 ng-if="vm.openchannelAccount.mandatoryDisposition"
 
 570                 <label translate="OPENCHANNEL.MANDATORYDISPOSITIONPAUSEID"
 
 571                   >MandatoryDispositionPauseId</label
 
 574                   name="mandatoryDispositionPauseId"
 
 575                   ng-model="vm.openchannelAccount.mandatoryDispositionPauseId"
 
 577                   ng-disabled="!vm.crudPermissions.canEdit"
 
 580                     ng-value="mandatoryDispositionPauseId.id"
 
 581                     ng-repeat="mandatoryDispositionPauseId in vm.pauses"
 
 582                     ng-disabled="mandatoryDispositionPauseId.canSelect === false"
 
 583                     >{{ mandatoryDispositionPauseId.name }}</md-option
 
 588                     translate="OPENCHANNEL.HELP.MANDATORYDISPOSITIONPAUSEID"
 
 592                   ng-messages="dispositionForm['mandatoryDispositionPauseId'].$error"
 
 593                   ng-show="dispositionForm['mandatoryDispositionPauseId'].$touched"
 
 596                   <div ng-message="required">
 
 598                       translate="OPENCHANNEL.ERRORS.MANDATORYDISPOSITIONPAUSEID_REQUIRED"
 
 599                       >MandatoryDispositionPauseId field is required</span
 
 603               </md-input-container>
 
 610           <span translate="OPENCHANNEL.DISPOSITIONS">DISPOSITIONS</span>
 
 614             ng-controller="OpenchannelAccountDispositionsController as vm_dc"
 
 615             ng-init="vm_dc.init(vm.openchannelAccount, vm.crudPermissions)"
 
 618               <div class="column" flex="20">
 
 619                 <md-card class="mt-0">
 
 622                       layout-align="center center"
 
 624                       ng-click="vm_dc.query.level = null; vm_dc.getDispositions()"
 
 626                       <div layout="row" layout-align="start center">
 
 627                         <md-icon md-font-icon="icon-refresh"></md-icon>
 
 629                           >{{ 'TOOLS.ALL_DISPOSITIONS' | translate }}</span
 
 637                     <md-input-container class="md-block" flex-gt-sm="">
 
 638                       <label translate="TOOLS.SELECT_LEVEL"
 
 639                         >Select a level</label
 
 642                         placeholder="{{ 'TOOLS.SELECT_LEVEL' | translate }}"
 
 643                         ng-model="vm_dc.query.level"
 
 644                         ng-change="vm_dc.getDispositions()"
 
 646                         <md-option ng-value="null"
 
 647                           ><em translate="TOOLS.ALL">All</em></md-option
 
 651                           ng-repeat="(key, value) in vm_dc.levels"
 
 652                           >{{ value }}</md-option
 
 655                     </md-input-container>
 
 660                 class="openchannelAccount-detail-form-container openchanneldispositions md-background-bg md-whiteframe-1dp"
 
 664                   class="md-table-toolbar md-default"
 
 665                   ng-hide="vm_dc.selectedOpenchannelAccountDispositions.length"
 
 667                   <div class="md-toolbar-tools">
 
 670                       translate="OPENCHANNEL.DISPOSITIONS"
 
 674                       on-search="vm_dc.query.filter = query"
 
 675                       on-collapse="vm_dc.query.filter = undefined"
 
 681                       ng-if="vm_dc.crudPermissions.canEdit"
 
 682                       class="md-icon-button"
 
 683                       ng-click="vm_dc.createOrEditDisposition($event)"
 
 684                       aria-label="Add openchannel dispositions"
 
 686                       translate-attr-label="OPENCHANNEL.ADD_DISPOSITION"
 
 688                       <md-icon md-font-icon="icon-plus"></md-icon>
 
 693                   class="md-table-toolbar md-accent"
 
 694                   ng-show="vm_dc.selectedDispositions.length"
 
 696                   <div class="md-toolbar-tools">
 
 697                     <span class="md-subhead"
 
 698                       >{{vm_dc.selectedDispositions.length}}
 
 699                       {{vm_dc.selectedDispositions.length > 1 ? 'items' :
 
 700                       'item'}} selected</span
 
 704                       class="md-icon-button"
 
 705                       ng-csv="vm_dc.exportSelectedDispositions"
 
 707                       filename="openchannelAccounts.csv"
 
 709                       <md-icon md-font-icon="icon-file-excel"></md-icon>
 
 712                       ng-if="vm_dc.crudPermissions.canDelete"
 
 713                       class="md-icon-button"
 
 714                       ng-click="vm_dc.deleteSelectedDispositions($event)"
 
 715                       aria-label="delete selected"
 
 717                       translate-attr-label="OPENCHANNEL.DELETE_SELECTED"
 
 719                       <md-icon md-font-icon="icon-delete"></md-icon>
 
 728                     ng-model="vm_dc.selectedDispositions"
 
 729                     md-progress="vm_dc.promise"
 
 733                       md-order="vm_dc.query.sort"
 
 734                       md-on-reorder="vm_dc.getDispositions"
 
 737                         <th md-column md-order-by="id">
 
 738                           {{ 'OPENCHANNEL.ID' | translate }}
 
 740                         <th md-column md-order-by="level">
 
 741                           {{ 'TOOLS.LEVEL' | translate }}
 
 743                         <th md-column md-order-by="name">
 
 744                           {{ 'OPENCHANNEL.NAME' | translate }}
 
 746                         <th md-column md-order-by="description">
 
 747                           {{ 'OPENCHANNEL.DESCRIPTION' | translate }}
 
 749                         <th md-column width="10px"></th>
 
 753                       <tr md-row ng-hide="vm_dc.dispositions.rows.length">
 
 754                         <td md-cell colspan="5">
 
 755                           <div layout="row" layout-align="center center">
 
 756                             <span translate="OPENCHANNEL.NO_AVAILABLE_INFO"
 
 757                               >No Available Info</span
 
 764                         md-select="disposition"
 
 766                         ng-repeat="disposition in vm_dc.dispositions.rows"
 
 769                           ng-click="vm_dc.createOrEditDisposition($event, disposition)"
 
 776                           ng-click="vm_dc.createOrEditDisposition($event, disposition)"
 
 780                           {{ vm_dc.levels[disposition.level] }}
 
 783                           ng-click="vm_dc.createOrEditDisposition($event, disposition)"
 
 790                           ng-click="vm_dc.createOrEditDisposition($event, disposition)"
 
 794                           {{disposition.description}}
 
 799                           ng-if="!vm_dc.crudPermissions.readOnly"
 
 803                               class="md-icon-button"
 
 806                               translate-attr-aria-label="OPENCHANNEL.MORE"
 
 807                               ng-click="$mdOpenMenu($event)"
 
 810                                 md-font-icon="icon-dots-vertical"
 
 813                             <md-menu-content width="3">
 
 817                                 ng-if="vm_dc.crudPermissions.canEdit"
 
 820                                   ng-click="vm_dc.createOrEditDisposition($event, disposition)"
 
 821                                   translate="TOOLS.EDIT_DISPOSITION"
 
 829                                 ng-if="vm_dc.crudPermissions.canDelete"
 
 832                                   ng-click="vm_dc.deleteConfirm(disposition, $event)"
 
 833                                   translate="TOOLS.DELETE_DISPOSITION"
 
 844                 </md-table-container>
 
 846                   md-label="{page: '{{'OPENCHANNEL.PAGE' | translate}}:', rowsPerPage: '{{'OPENCHANNEL.ROWSPERPAGE' | translate}}:', of: '{{'OPENCHANNEL.OF' | translate}}'}"
 
 847                   md-limit="vm_dc.query.limit"
 
 848                   md-limit-options="[10, 15, 20, 50, 100, 250]"
 
 849                   md-page="vm_dc.query.page"
 
 850                   md-total="{{vm_dc.dispositions.count}}"
 
 851                   md-on-paginate="vm_dc.getDispositions"
 
 854                 </md-table-pagination>
 
 862           <span translate="OPENCHANNEL.CANNEDANSWERS">CANNEDANSWERS</span>
 
 866             class="openchannelAccount-detail-form-container openchannelcannedanswers md-background-bg md-whiteframe-1dp"
 
 869               ng-controller="OpenchannelAccountOpenchannelCannedAnswersController as vm_dc"
 
 870               ng-init="vm_dc.init(vm.openchannelAccount, vm.crudPermissions)"
 
 873                 class="md-table-toolbar md-default"
 
 874                 ng-hide="vm_dc.selectedOpenchannelAccountOpenchannelCannedAnswers.length"
 
 876                 <div class="md-toolbar-tools">
 
 879                     translate="OPENCHANNEL.OPENCHANNELCANNEDANSWERS"
 
 880                     >OpenchannelCannedAnswers</span
 
 883                     on-search="vm_dc.query.filter = query"
 
 884                     on-collapse="vm_dc.query.filter = undefined"
 
 890                     ng-if="vm_dc.crudPermissions.canEdit"
 
 891                     class="md-icon-button"
 
 892                     ng-click="vm_dc.createOrEditOpenchannelAccountOpenchannelCannedAnswer($event)"
 
 893                     aria-label="add openchannelCannedAnswer"
 
 895                     translate-attr-label="OPENCHANNEL.ADD_OPENCHANNELCANNEDANSWER"
 
 897                     <md-icon md-font-icon="icon-plus"></md-icon>
 
 902                 class="md-table-toolbar md-accent"
 
 903                 ng-show="vm_dc.selectedOpenchannelAccountOpenchannelCannedAnswers.length"
 
 905                 <div class="md-toolbar-tools">
 
 906                   <span class="md-subhead"
 
 907                     >{{vm_dc.selectedOpenchannelAccountOpenchannelCannedAnswers.length}}
 
 908                     {{vm_dc.selectedOpenchannelAccountOpenchannelCannedAnswers.length
 
 909                     > 1 ? 'items' : 'item'}} selected</span
 
 913                     class="md-icon-button"
 
 914                     ng-csv="vm_dc.exportSelectedOpenchannelAccountOpenchannelCannedAnswers"
 
 916                     filename="openchannelAccounts.csv"
 
 918                     <md-icon md-font-icon="icon-file-excel"></md-icon>
 
 921                     ng-if="vm_dc.crudPermissions.canDelete"
 
 922                     class="md-icon-button"
 
 923                     ng-click="vm_dc.deleteSelectedOpenchannelAccountOpenchannelCannedAnswers($event)"
 
 924                     aria-label="delete selected"
 
 926                     translate-attr-label="OPENCHANNEL.DELETE_SELECTED"
 
 928                     <md-icon md-font-icon="icon-delete"></md-icon>
 
 932               <md-table-container class="font-size-12">
 
 937                   ng-model="vm_dc.selectedOpenchannelAccountOpenchannelCannedAnswers"
 
 938                   md-progress="vm_dc.promise"
 
 942                     md-order="vm_dc.query.sort"
 
 943                     md-on-reorder="vm_dc.getOpenchannelAccountOpenchannelCannedAnswers"
 
 946                       <th md-column md-order-by="id">
 
 947                         {{ 'OPENCHANNEL.ID' | translate }}
 
 949                       <th md-column md-order-by="key">
 
 950                         {{ 'OPENCHANNEL.KEY' | translate }}
 
 952                       <th md-column md-order-by="value">
 
 953                         {{ 'OPENCHANNEL.VALUE' | translate }}
 
 955                       <th md-column md-order-by="description">
 
 956                         {{ 'OPENCHANNEL.DESCRIPTION' | translate }}
 
 958                       <th md-column md-order-by="createdAt">
 
 959                         {{ 'OPENCHANNEL.CREATED_AT' | translate }}
 
 961                       <th md-column width="10px"></th>
 
 967                       md-select="openchannelCannedAnswer"
 
 969                       ng-repeat="openchannelCannedAnswer in vm_dc.openchannelAccountOpenchannelCannedAnswers.rows"
 
 972                         ng-click="vm_dc.createOrEditOpenchannelAccountOpenchannelCannedAnswer($event, openchannelCannedAnswer)"
 
 975                         {{openchannelCannedAnswer.id}}
 
 978                         ng-click="vm_dc.createOrEditOpenchannelAccountOpenchannelCannedAnswer($event, openchannelCannedAnswer)"
 
 981                         {{openchannelCannedAnswer.key}}
 
 984                         ng-click="vm_dc.createOrEditOpenchannelAccountOpenchannelCannedAnswer($event, openchannelCannedAnswer)"
 
 987                         {{openchannelCannedAnswer.value}}
 
 990                         ng-click="vm_dc.createOrEditOpenchannelAccountOpenchannelCannedAnswer($event, openchannelCannedAnswer)"
 
 993                         {{openchannelCannedAnswer.description}}
 
 996                         ng-click="vm_dc.createOrEditOpenchannelAccountOpenchannelCannedAnswer($event, openchannelCannedAnswer)"
 
 999                         {{ openchannelCannedAnswer.createdAt | formatdate }}
 
1004                         ng-if="!vm_dc.crudPermissions.readOnly"
 
1008                             class="md-icon-button"
 
1011                             translate-attr-aria-label="OPENCHANNEL.MORE"
 
1012                             ng-click="$mdOpenMenu($event)"
 
1015                               md-font-icon="icon-dots-vertical"
 
1019                           <md-menu-content width="3">
 
1020                             <md-menu-item ng-if="vm_dc.crudPermissions.canEdit">
 
1022                                 ng-click="vm_dc.createOrEditOpenchannelAccountOpenchannelCannedAnswer($event, openchannelCannedAnswer)"
 
1023                                 translate="OPENCHANNEL.EDIT_OPENCHANNELCANNEDANSWER"
 
1025                                 Edit OpenchannelCannedAnswer
 
1029                               ng-if="vm_dc.crudPermissions.canDelete"
 
1032                                 ng-click="vm_dc.deleteConfirm(openchannelCannedAnswer, $event)"
 
1033                                 translate="OPENCHANNEL.DELETE_OPENCHANNELCANNEDANSWER"
 
1035                                 Delete OpenchannelCannedAnswer
 
1044                       ng-if="!vm_dc.openchannelAccountOpenchannelCannedAnswers.rows.length"
 
1046                       <td md-cell colspan="7">
 
1047                         <div layout="row" layout-align="center center">
 
1049                             class="text-boxed-light"
 
1050                             translate="OPENCHANNEL.NO_OPENCHANNELCANNEDANSWER_AVAILABLE"
 
1051                             >No openchannelcannedanswer available</span
 
1058               </md-table-container>
 
1059               <md-table-pagination
 
1060                 md-label="{page: '{{'OPENCHANNEL.PAGE' | translate}}:', rowsPerPage: '{{'OPENCHANNEL.ROWSPERPAGE' | translate}}:', of: '{{'OPENCHANNEL.OF' | translate}}'}"
 
1061                 md-limit="vm_dc.query.limit"
 
1062                 md-limit-options="[10, 15, 20, 50, 100, 250]"
 
1063                 md-page="vm_dc.query.page"
 
1064                 md-total="{{vm_dc.openchannelAccountOpenchannelCannedAnswers.count}}"
 
1065                 md-on-paginate="vm_dc.getOpenchannelAccountOpenchannelCannedAnswers"
 
1067               ></md-table-pagination>
 
1074           <span translate="OPENCHANNEL.ACTIONS">ACTIONS</span>
 
1078             class="openchannelAccount-detail-form-container actions md-background-bg md-whiteframe-1dp"
 
1081               ng-controller="OpenchannelAccountActionsController as vm_ac"
 
1082               ng-init="vm_ac.init(vm.openchannelAccount, vm.crudPermissions)"
 
1086               layout-align="start start"
 
1090                 class="navigation-simple sidenav main-sidenav md-background-bg md-whiteframe-1dp"
 
1094                 ng-if="vm_ac.crudPermissions.canEdit"
 
1096                 <!-- SIDENAV CONTENT -->
 
1097                 <md-list class="no-padding">
 
1098                   <md-subheader class="md-no-sticky">
 
1099                     <span translate="VOICE.APPLICATIONS_LIST">
 
1104                 <md-divider></md-divider>
 
1105                 <md-list ng-sortable="vm_ac.list">
 
1106                   <md-list-item class="handle" ng-repeat="a in vm_ac.apps">
 
1107                     <md-icon md-font-icon="{{a.icon}}" class="s16"></md-icon>
 
1109                       class="text-truncate"
 
1110                       translate="OPENCHANNEL.{{(a.alias || a.appType) | uppercase}}"
 
1112                       {{a.alias || a.appType}}
 
1116                 <!-- / SIDENAV CONTENT -->
 
1122                 class="main scrollable md-background-bg md-whiteframe-1dp"
 
1125                 flex="{{vm_ac.crudPermissions.canEdit ? 75 : 100}}"
 
1128                   class="md-table-toolbar md-default"
 
1129                   ng-hide="vm_ac.selectedOpenchannelAccountApps.length"
 
1131                   <div class="md-toolbar-tools">
 
1132                     <span class="md-subhead">Drag & Drop Routing</span>
 
1135                       on-search="vm_ac.query.filter = query"
 
1136                       on-collapse="vm_ac.query.filter = undefined"
 
1142                   class="md-table-toolbar md-accent"
 
1143                   ng-show="vm_ac.selectedOpenchannelAccountApps.length"
 
1145                   <div class="md-toolbar-tools">
 
1146                     <span class="md-subhead"
 
1147                       >{{vm_ac.selectedOpenchannelAccountApps.length}}
 
1148                       {{vm_ac.selectedOpenchannelAccountApps.length > 1 ?
 
1149                       'items' : 'item'}} selected</span
 
1153                       ng-if="vm_ac.crudPermissions.canDelete"
 
1154                       class="md-icon-button"
 
1155                       ng-click="vm_ac.deleteSelectedOpenchannelAccountApps($event)"
 
1156                       aria-label="delete selected"
 
1158                       translate-attr-label="OPENCHANNEL.DELETE_SELECTED"
 
1160                       <md-icon md-font-icon="icon-delete"></md-icon>
 
1165                 <!-- QUEUES TABLE -->
 
1166                 <md-table-container>
 
1171                     ng-model="vm_ac.selectedOpenchannelAccountApps"
 
1175                         <th md-column width="10px"></th>
 
1176                         <th md-column width="10px">
 
1177                           <span translate="VOICE.PRIORITY">Priority</span>
 
1183                           <span>Appdata</span>
 
1186                           <span>Interval</span>
 
1188                         <th md-column width="10px"></th>
 
1189                         <th md-column width="10px"></th>
 
1192                     <tbody md-body ng-sortable="vm_ac.applications">
 
1197                         ng-repeat="app in vm_ac.openchannelAccountApps.rows | filter: vm_ac.query.filter"
 
1201                             md-font-icon="icon-drag-vertical"
 
1207                           ng-click="vm_ac.editOpenchannelAccountApp($event, $index)"
 
1209                           <span>{{app.priority}}</span>
 
1213                           ng-click="vm_ac.editOpenchannelAccountApp($event, $index)"
 
1215                           {{app.app.toLowerCase() === 'agi' ? 'Cally-Square' :
 
1216                           app.app | ucfirst}}<span
 
1217                             ng-if="app.appType.toLowerCase() === 'custom'"
 
1223                           ng-click="vm_ac.editOpenchannelAccountApp($event, $index)"
 
1225                           <span class="text-truncate" style="width: 200px"
 
1226                             >{{app.appdata}}</span
 
1231                           ng-click="vm_ac.editInterval($event, $index)"
 
1233                           {{app.IntervalId ? 'From List' : app.interval}}
 
1237                             ng-click="vm_ac.editInterval($event, $index)"
 
1238                             class="md-icon-button"
 
1239                             aria-label="Interval"
 
1241                             <md-icon md-font-icon="icon-timer"></md-icon>
 
1243                               {{app.IntervalId ? 'From List' : (app.interval ===
 
1244                               '*,*,*,*' ? 'Always' : 'Custom')}}
 
1251                           ng-if="!vm_ac.crudPermissions.readOnly"
 
1255                               class="md-icon-button"
 
1258                               translate-attr-aria-label="VOICE.MORE"
 
1259                               ng-click="$mdOpenMenu($event)"
 
1262                                 md-font-icon="icon-dots-vertical"
 
1266                             <md-menu-content width="3">
 
1268                                 ng-if="vm_ac.crudPermissions.canEdit"
 
1271                                   ng-click="vm_ac.editOpenchannelAccountApp($event, $index)"
 
1272                                   translate="VOICE.EDIT_APP"
 
1278                                 ng-if="vm_ac.crudPermissions.canEdit"
 
1281                                   ng-click="vm_ac.editInterval($event, $index)"
 
1282                                   translate="VOICE.EDIT_INTERVAL"
 
1288                                 ng-if="vm_ac.crudPermissions.canDelete"
 
1291                                   ng-click="vm_ac.deleteConfirm(app, $index, $event)"
 
1292                                   translate="VOICE.DELETE_APP"
 
1303                         ng-hide="vm_ac.openchannelAccountApps.rows.length"
 
1305                         <td md-cell colspan="7">
 
1307                             class="text-boxed-light"
 
1308                             translate="VOICE.NO_APPS_AVAILABLE"
 
1309                             >No apps available</span
 
1315                 </md-table-container>
 
1316                 <!-- / QUEUES TABLE -->
 
1320                 <!-- / NO RESULTS -->
 
1329           <span translate="OPENCHANNEL.INTERACTIONS">INTERACTIONS</span>
 
1333             class="openchannelAccount-detail-form-container interactions md-background-bg md-whiteframe-1dp"
 
1336               ng-controller="OpenchannelAccountInteractionsController as vm_dc"
 
1337               ng-init="vm_dc.init(vm.openchannelAccount, vm.crudPermissions)"
 
1340                 class="md-table-toolbar md-default"
 
1341                 ng-hide="vm_dc.selectedOpenchannelAccountInteractions.length"
 
1343                 <div class="md-toolbar-tools">
 
1344                   <span class="md-subhead" translate="OPENCHANNEL.INTERACTIONS"
 
1348                     on-search="vm_dc.query.filter = query"
 
1349                     on-collapse="vm_dc.query.filter = undefined"
 
1355                     filters="vm_dc.quickFilters"
 
1357                     search="vm_dc.getOpenchannelAccountInteractions()"
 
1359                   <div layout="column">
 
1361                       class="md-icon-button advanced-search"
 
1362                       ng-class="{ 'md-fab md-mini md-accent-bg': vm_dc.query.search }"
 
1365                       translate-attr-aria-label="DASHBOARDS.FILTER"
 
1366                       ng-click="vm_dc.openAdvancedSearch()"
 
1369                         md-font-icon="{{ vm_dc.query.search ? 'icon-filter' : 'icon-filter-outline' }}"
 
1370                         ng-class="{ 'blink': vm_dc.query.search }"
 
1375                     class="md-icon-button"
 
1376                     ng-click="vm_dc.getOpenchannelAccountInteractions()"
 
1377                     aria-label="refresh Interactions"
 
1379                     translate-attr-label="OPENCHANNEL.REFRESH_INTERACTIONS"
 
1381                     <md-icon md-font-icon="icon-refresh"></md-icon>
 
1386                 class="md-table-toolbar md-accent"
 
1387                 ng-show="vm_dc.selectedOpenchannelAccountInteractions.length"
 
1389                 <div class="md-toolbar-tools">
 
1390                   <span class="md-subhead"
 
1391                     >{{vm_dc.selectedOpenchannelAccountInteractions.length}}
 
1392                     {{vm_dc.selectedOpenchannelAccountInteractions.length > 1 ?
 
1393                     'items' : 'item'}} selected</span
 
1397                     class="md-icon-button"
 
1398                     ng-csv="vm_dc.exportSelectedOpenchannelAccountInteractions"
 
1400                     filename="openchannelAccounts.csv"
 
1402                     <md-icon md-font-icon="icon-file-excel"></md-icon>
 
1405                     ng-if="vm_dc.crudPermissions.canDelete"
 
1406                     class="md-icon-button"
 
1407                     ng-click="vm_dc.deleteSelectedOpenchannelAccountInteractions($event)"
 
1408                     aria-label="delete selected"
 
1410                     translate-attr-label="OPENCHANNEL.DELETE_SELECTED"
 
1412                     <md-icon md-font-icon="icon-delete"></md-icon>
 
1416               <md-table-container class="font-size-12">
 
1421                   ng-model="vm_dc.selectedOpenchannelAccountInteractions"
 
1422                   md-progress="vm_dc.promise"
 
1426                     md-order="vm_dc.query.sort"
 
1427                     md-on-reorder="vm_dc.getOpenchannelAccountInteractions"
 
1430                       <th md-column md-order-by="id">
 
1431                         {{ 'OPENCHANNEL.ID' | translate }}
 
1433                       <th md-column class="no-padding">
 
1434                         <md-icon md-font-icon="icon-eye" class="s16"></md-icon>
 
1436                       <th md-column class="no-padding"></th>
 
1437                       <th md-column class="no-padding"></th>
 
1438                       <th md-column>{{ 'OPENCHANNEL.CONTACT' | translate }}</th>
 
1439                       <th md-column md-order-by="createdAt">
 
1440                         {{ 'OPENCHANNEL.STARTEDAT' | translate }}
 
1442                       <th md-column md-order-by="lastMsgAt">
 
1443                         {{ 'OPENCHANNEL.LASTMESSAGE' | translate }}
 
1445                       <th md-column md-order-by="closed">
 
1446                         {{ 'OPENCHANNEL.STATUS' | translate }}
 
1448                       <th md-column>{{ 'OPENCHANNEL.AGENT' | translate }}</th>
 
1449                       <th md-column md-order-by="tag">
 
1450                         {{ 'OPENCHANNEL.TAGS' | translate }}
 
1452                       <th md-column width="10px"></th>
 
1458                       md-select="interaction"
 
1460                       ng-repeat="interaction in vm_dc.openchannelAccountInteractions.rows"
 
1461                       ng-class="{'text-bold text-italic': interaction.unreadMessages > 0}"
 
1463                       <td md-cell>{{interaction.id}}</td>
 
1464                       <td md-cell class="no-padding">
 
1466                           ng-if="!interaction.closed && interaction.Users.length"
 
1469                             md-font-icon="icon-eye"
 
1473                             <span ng-repeat="user in interaction.Users"
 
1474                               >{{ user.fullname | translate }}
 
1475                               <span ng-if="!$last">, </span>
 
1480                       <td md-cell class="no-padding">
 
1482                           ng-if="interaction.unreadMessages > 0"
 
1484                           layout-align="start center"
 
1487                             class="badge white-fg md-primary-bg"
 
1489                             >{{ interaction.unreadMessages}}</span
 
1493                       <td md-cell class="no-padding">
 
1494                         <div ng-if="interaction.attach">
 
1496                             md-font-icon="icon-paperclip"
 
1502                         <div layout="column" layout-align="start start">
 
1504                             class="font-size-12 text-truncate contact-text"
 
1505                             ng-class="{'margin-bottom-0' : interaction.contactInfo}"
 
1507                             >{{ interaction.contactName }}</span
 
1510                             ng-if="interaction.contactInfo"
 
1511                             class="font-size-12 text-truncate contact-text margin-top-0"
 
1513                             >{{ interaction.contactInfo }}</span
 
1517                       <td md-cell>{{ interaction.createdAt | formatdate }}</td>
 
1522                               md-font-icon="{{interaction.lastMsgDirection == 'in' ? 'icon-arrow-down-bold blue-grey-800-fg' : 'icon-arrow-up-bold blue-grey-300-fg'}}"
 
1525                           <div layout="column" layout-align="center center">
 
1526                             <span class="text-truncate"
 
1527                               >{{ interaction.lastMsgAt | formatdate }}</span
 
1533                         <span ng-if="interaction.closed === 0" class="green-fg">
 
1534                           {{ 'OPENCHANNEL.OPENED' | translate }}
 
1535                           <span ng-if="interaction.substatus">
 
1536                             - {{ interaction.substatus }}
 
1539                         <span ng-if="interaction.closed === 1" class="red-fg">
 
1540                           {{ 'OPENCHANNEL.CLOSED' | translate }}
 
1541                           <span ng-if="interaction.disposition">
 
1542                             - {{ interaction.thirdDisposition ||
 
1543                             interaction.secondDisposition ||
 
1544                             interaction.disposition }}
 
1546                           <md-tooltip class="multiline">
 
1547                             <div layout="column">
 
1548                               <div layout="column">
 
1550                                   >{{ 'DASHBOARDS.CLOSED_AT' |
 
1553                                 <span class="text-bold"
 
1554                                   >{{ interaction.closedAt | formatdate }}</span
 
1557                               <div layout="column">
 
1559                                   >{{ 'DASHBOARDS.DISPOSITION' |
 
1562                                 <span class="text-bold"
 
1563                                   >{{ interaction.disposition }}</span
 
1567                                 ng-if="interaction.secondDisposition"
 
1571                                   >{{ 'DASHBOARDS.SECOND_LEVEL_DISPOSITION' |
 
1574                                 <span class="text-bold"
 
1575                                   >{{ interaction.secondDisposition }}</span
 
1579                                 ng-if="interaction.thirdDisposition"
 
1583                                   >{{ 'DASHBOARDS.THIRD_LEVEL_DISPOSITION' |
 
1586                                 <span class="text-bold"
 
1587                                   >{{ interaction.thirdDisposition }}</span
 
1595                       <td md-cell>{{interaction.Owner.name}}</td>
 
1597                         <div ng-if="interaction.Tags.length">
 
1598                           <md-tooltip md-direction="left" layout="row">
 
1599                             <span ng-repeat="tag in interaction.Tags"
 
1600                               >{{tag.name}}<span ng-if="!$last">, </span></span
 
1604                             md-font-icon="icon-tag"
 
1605                             ng-style="{'color': interaction.Tags.length == 1 && interaction.Tags[0].color }"
 
1610                       <td md-cell class="actions">
 
1613                             class="md-icon-button"
 
1616                             translate-attr-aria-label="OPENCHANNEL.MORE"
 
1617                             ng-click="$mdOpenMenu($event)"
 
1620                               md-font-icon="icon-dots-vertical"
 
1624                           <md-menu-content width="3">
 
1627                                 ng-click="vm_dc.spyopenchannelInteraction($event, interaction)"
 
1628                                 translate="OPENCHANNEL.SPYINTERACTION"
 
1636                                 ng-click="vm_dc.openchannelInteractionDownload(interaction, $event, true)"
 
1637                                 translate="OPENCHANNEL.DOWNLOAD_WITH_ATTACHMENTS"
 
1639                                 Download with attachments
 
1645                                 ng-click="vm_dc.openchannelInteractionDownload(interaction, $event)"
 
1646                                 translate="OPENCHANNEL.DOWNLOAD_WITHOUT_ATTACHMENTS"
 
1648                                 Download without attachments
 
1652                               ng-if="vm_dc.crudPermissions.canDelete"
 
1655                                 ng-click="vm_dc.deleteConfirm(interaction, $event)"
 
1656                                 translate="OPENCHANNEL.DELETE_INTERACTION"
 
1667                       ng-if="!vm_dc.openchannelAccountInteractions.rows.length"
 
1669                       <td md-cell colspan="12">
 
1670                         <div layout="row" layout-align="center center">
 
1672                             class="text-boxed-light"
 
1673                             translate="OPENCHANNEL.NO_INTERACTION_AVAILABLE"
 
1674                             >No interaction available</span
 
1681               </md-table-container>
 
1682               <md-table-pagination
 
1683                 md-label="{page: '{{'OPENCHANNEL.PAGE' | translate}}:', rowsPerPage: '{{'OPENCHANNEL.ROWSPERPAGE' | translate}}:', of: '{{'OPENCHANNEL.OF' | translate}}'}"
 
1684                 md-limit="vm_dc.query.limit"
 
1685                 md-limit-options="[10, 15, 20, 50, 100, 250]"
 
1686                 md-page="vm_dc.query.page"
 
1687                 md-total="{{vm_dc.openchannelAccountInteractions.count}}"
 
1688                 md-on-paginate="vm_dc.getOpenchannelAccountInteractions"
 
1690               ></md-table-pagination>